$$.Class = function(parent, members){
	var c
		,oc = Object.prototype.constructor;
	
	if($$.isUndefined(members)){
		members = parent;
		parent = function(){};
	}
	
	c = members.constructor != oc?
			members.constructor : 
			function(config){
				$$.put(this, config);
				parent.constructor.apply(this, arguments);
			};
	//c.prototype = new function(){};
	$$.put(c.prototype, parent.prototype, members);
	c.__parent = parent;		
	c.prototype.__parent = parent;
	c.constructor = c.prototype.constructor;
	
	return c;
};